配置に関するHP vPV REST APIは、新しいVMの作成時にアプリケーションがHP vPVから配置提案を取得するために使用できます。配置に関するREST APIは、VMwareドメイン内のVMの配置提案のみを示します。
このREST APIは、VMの仕様、コンテナーの仕様、およびストレージの仕様 (オプション) を入力し、VMを最適なクラスターおよびデータストアに配置するための提案を出力します。また、必要なすべてのVMがコンテナーエンティティに配置可能である場合にのみ、配置提案を提供します。
リソース情報
応答形式![]() |
JSON![]() |
リクエストヘッダー要件![]() |
Content-Type: application/json Authorization:Basic <Base 64でエンコードされたユーザー名:パスワード> (オプション。LDAPが有効になっている場合にのみ必須)
|
サポートされるリクエストメソッド![]() |
POST![]() |
リソースURL
https://<IPアドレスまたはホスト名>:<ポート番号>/PV/api/v1/placement
この例では、
POSTパラメーター
REST APIリクエスト本文を次に示します。
リクエスト本文は次のオブジェクトで構成されます。
outputFormat : flatlist:これはオプション入力パラメーターです。詳細なリストの形式での配置出力が必要な場合は必須です。パラメーターを指定しない場合、出力は3次元マトリックスの形式で表示されます。
| パラメーター | 説明 |
|---|---|
numVM (オプション)![]() |
特定の構成の追加するVM数。デフォルト値は1です。![]() |
numCPU (オプション)![]() |
各VMのCPU数。デフォルト値は1です。![]() |
memSizeGB![]() |
各VMのメモリサイズ (単位: GB)![]() |
diskSizeGB![]() |
各VMのディスクサイズ (単位: GB)![]() |
expectedCPUUtil (オプション)![]() |
VMの予想CPU使用率 (単位: %)。デフォルト値は100です。![]() |
expectedMemUtil (オプション)![]() |
VMの予想メモリ使用率 (単位: %)。デフォルト値は100です。![]() |
startDayFromToday (オプション)![]() |
VMの作成日を現在の日付からの日数で指定します。デフォルト値は1です。 たとえば、値が5の場合は、VMを現在の日付の5日後に配置する必要があることを考慮して配置提案が示されます。
|
endDayFromToday (オプション)![]() |
VMをアクティブな状態に保つ期限を現在の日付からの日数で指定します。デフォルト値は90です。 たとえば、値が20の場合は、VMを現在の日付から20日間アクティブな状態に保つことを考慮して配置提案が示されます。
|
| パラメーター | 説明 |
|---|---|
virtType![]() |
仮想化環境のタイプ。現在、配置提案はVMware仮想化環境でのみサポートされています。したがって、値にはVMWAREを指定する必要があります。![]() |
type![]() |
コンテナーのタイプ。VCENTER、DATACENTER、またはCLUSTERを指定できます。
|
vcenterName![]() |
vCenterの名前![]() |
datacenterName![]() |
データセンターの名前![]() |
clusterName![]() |
クラスターの名前![]() |
storageSpecifications (オプション): storageSpecificationsはJSONオブジェクトの配列です。これらのオブジェクトは、VMを配置できるデータストアを指定する場合に使用します。 このパラメーターを指定しない場合は、vCenter内のすべてのデータストアを考慮して配置提案が示されます。次のパラメーターがあります。
| パラメーター | 説明 |
|---|---|
vcenterName![]() |
vCenterの名前。containerSpecificationsで指定したvCenter名のいずれかを指定する必要があります。![]() |
datacenterName![]() |
データセンターの名前。
|
clusterName![]() |
クラスターの名前。![]() |
datastoreName![]() |
データストアの名前。![]() |
カスタムエラーコード
配置提案を提供できない場合、配置に関するREST APIは次のカスタムエラーコードを返します。
| エラーコード | エラーの説明 |
|---|---|
512![]() |
入力された仕様を満たす利用可能なクラスターおよびストレージがないため、配置提案を提供できません。![]() |
513![]() |
予測情報が不足しているため、配置提案を提供できません。![]() |
514![]() |
必要なVMを配置できる十分なリソースがないため、配置提案を提供できません。 ![]() |
サンプルAPI
URL
https://<IPアドレスまたはホスト名>:<ポート番号>/PV/api/v1/placement
|
リクエスト本文
{"vmSpecifications":[
{"numVM":5,
"numCPU":2,
"memSizeGB":2,
"diskSizeGB":10,
"expectedCPUUtil":80,
"expectedMemUtil":80,
"startDayFromToday":1,
"endDayFromToday":90
},
{"numVM":4,
"numCPU":4,
"memSizeGB":8,
"diskSizeGB":5,
"expectedCPUUtil":20,
"expectedMemUtil":40,
"startDayFromToday":1,
"endDayFromToday":90
}
],
"containerSpecifications":[
{"virtType":"VMWARE",
"type":"VCENTER",
"vcenterName":"iwfvm01029.hpswlabs.adapps.hp.com ",
"datacenterName" :"ispi_qa_DC_1029",
"clusterName" :"ispi_qa_CLUSTER_1029"
},
{"virtType":"VMWARE",
"type":"DATACENTER",
"vcenterName":"16.184.45.94",
"datacenterName" :"DataCenter1",
"clusterName" :"PMi_Cluster"
},
{"virtType":"VMWARE",
"type":"CLUSTER",
"vcenterName":"iwfvm01030.hpswlabs.adapps.hp.com ",
"datacenterName" :"ispi_qa_DC_1030",
"clusterName" :"ispi_qa_CLUSTER_1030"
}
],
"storageSpecifications":[
{"vcenterName" :"iwfvm01029.hpswlabs.adapps.hp.com",
"datacenterName" :"ispi_qa_DC_1029",
"clusterName" :"ispi_qa_CLUSTER_1029",
"datastoreName" :"ovpesx9:storage1"
},
{"vcenterName" :"16.184.45.94",
"datacenterName" :"DataCenter1",
"clusterName" :"PMi_Cluster",
"datastoreName" :"datastore1_1"
},
{"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
"datacenterName" :" ispi_qa_DC_1030",
"clusterName" :" ispi_qa_DC_1030",
"datastoreName" :"storage3"
},
{"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
"datacenterName" :" ispi_qa_DC_1030",
"clusterName" :" ispi_qa_DC_1030",
"datastoreName" :"storage4"
}
]
}
JSON応答
リクエスト本文で"outputFormat" :"flatlist"を指定した場合、JSON応答は詳細なリストの形式で表示されます。リクエスト本文で"outputFormat" :"flatlist"を指定しない場合、JSON応答は3次元マトリックスの形式で表示されます。返されるJSON応答のタイプは、リクエスト本文に含まれている出力形式パラメーターで決まります。
両方のタイプのJSON応答のサンプル出力を次に示します。
詳細なリスト出力:
リクエスト本文で"outputFormat" :"flatlist"を指定した場合は、次のJSON応答が表示されます。
"result" :[
{"vmDetails" :{"numCPU":2,
"memSizeGB":2,
"diskSizeGB":10,
"expectedCPUUtil":80,
"expectedMemUtil":80,
"startDayFromToday":1,
"endDayFromToday":90
},
"containerDetails" :{"virtType":"VMWARE",
"type":"CLUSTER",
"vcenterName":"iwfvm01030.hpswlabs.adapps.hp.com ",
"datacenterName" :"ispi_qa_DC_1030",
"clusterName" :"ispi_qa_CLUSTER_1030"
},
"storageDetails" :{"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
"datacenterName" :" ispi_qa_DC_1030",
"clusterName" :" ispi_qa_DC_1030",
"datastoreName" :"storage3"
}
},
"vmDetails" :{"numCPU":2,
"memSizeGB":2,
"diskSizeGB":10,
"expectedCPUUtil":80,
"expectedMemUtil":80,
"startDayFromToday":1,
"endDayFromToday":90
},
"containerDetails" :{"virtType":"VMWARE",
"type":"VCENTER",
"vcenterName":"iwfvm01029.hpswlabs.adapps.hp.com ",
"datacenterName" :"ispi_qa_DC_1029",
"clusterName" :"ispi_qa_CLUSTER_1029"
},
"storageDetails" :{"vcenterName" :"iwfvm01029.hpswlabs.adapps.hp.com",
"datacenterName" :"ispi_qa_DC_1029",
"clusterName" :"ispi_qa_CLUSTER_1029",
"datastoreName" :"ovpesx9:storage1"
}
},
.....
}
],
"daysToCapacity" :30,
"errorCode" :0
}
3次元マトリックス出力
リクエスト本文で"outputFormat" :"flatlist"を指定しない場合は、次のJSON応答が表示されます。
{"numVMConfigDetails" :2,
"numContainerDetails" :3,
"numStorageDetails" :4,
"vmConfigDetailsList" :[
{"numVM":5,
"numCPU":2,
"memSizeGB":2,
"diskSizeGB":10,
"expectedCPUUtil":80,
"expectedMemUtil":80,
"startDayFromToday":1,
"endDayFromToday":90
},
{"numVM":4,
"numCPU":4,
"memSizeGB":8,
"diskSizeGB":5,
"expectedCPUUtil":20,
"expectedMemUtil":40,
"startDayFromToday":1,
"endDayFromToday":90
} ],
"containerDetailsList" :[ {"virtType" :"VMWARE",
"type" :"CLUSTER",
"vcenterName" :"iwfvm01029.hpswlabs.adapps.hp.com",
"datacenterName" :"ispi_qa_DC_1029",
"clusterName" :"ispi_qa_CLUSTER_1029",
"daysToCapacity" :30
},
{"virtType" :"VMWARE",
"type" :"CLUSTER",
"vcenterName" :"16.184.45.94",
"datacenterName" :"DataCenter1",
"clusterName" :"PMi_Cluster",
"daysToCapacity" :70
},
{"virtType" :"VMWARE",
"type" :"CLUSTER",
"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
"datacenterName" :" ispi_qa_DC_1030",
"clusterName" :" ispi_qa_DC_1030",
"daysToCapacity" :50}
],
"storageDetailsList" :[
{"vcenterName" :"iwfvm01029.hpswlabs.adapps.hp.com",
"datacenterName" :"ispi_qa_DC_1029",
"clusterName" :"ispi_qa_CLUSTER_1029",
"datastoreName" :"ovpesx9:storage1",
"daysToCapacity" :90
},
{"vcenterName" :"16.184.45.94",
"datacenterName" :"DataCenter1",
"clusterName" :"PMi_Cluster",
"datastoreName" :"datastore1_1",
"daysToCapacity" :90
},
{"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
"datacenterName" :" ispi_qa_DC_1030",
"clusterName" :" ispi_qa_DC_1030",
"datastoreName" :"storage3",
"daysToCapacity" :40
},
{"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
"datacenterName" :" ispi_qa_DC_1030",
"clusterName" :" ispi_qa_DC_1030",
"datastoreName" :"storage4",
"daysToCapacity" :60
}
],
"resultMatrix" :[ [ [ 2, null, null, null ], [ null, 2, null, null], [ null, null, 1, null] ], [ [ 2, null, null, null ], [ 1, null, null, null ],[ 1, null, null, null ] ] ],
"daysToCapacity" :30
サンプル出力の詳細
詳細なリスト出力:
JSON応答にはJSONオブジェクトの配列が示されます。各JSONオブジェクトは配置するVMに対応します。各JSONオブジェクトには、VM構成の詳細と、VMを配置できるコンテナーおよびデータストアの詳細が示されます。JSON出力の視覚的表示は次のようになります。
このAPIは、配置提案をマトリックスの形式で提供します。マトリックスは、他の出力パラメーターを把握すると解釈できます。出力パラメーターの概要を次に示します。
| パラメーター | 説明 |
|---|---|
numVMConfigs![]() |
VM構成の合計数![]() |
numContainers![]() |
VMを配置できる個別クラスターの合計数![]() |
numDatastores![]() |
VMを配置できる個別データストアの合計数![]() |
vmConfigDetailsList![]() |
このオブジェクトにはVM構成のリストが示されます。リスト内のVM構成の順序は結果マトリックスの解釈に必要となるため、この順序に留意してください。![]() |
containerDetailsList![]() |
このオブジェクトにはVMを配置できるコンテナーのリストが示されます。リスト内のコンテナーの順序は結果マトリックスの解釈に必要となるため、この順序に留意してください。![]() |
storageDetailsList![]() |
このオブジェクトにはVMを配置できるデータストアのリストが示されます。リスト内のデータストアの順序は結果マトリックスの解釈に必要となるため、この順序に留意してください。![]() |
resultMatrix:配置提案は3次元マトリックスの形式で示されます。サンプル出力の結果マトリックスは次のとおりです。
[
[ [ 2, null, null, null ], [ null, 2, null, null ], [ null, null, 1, null] ],
[ [ 2, null, null, null ], [ null, 1, null, null ],[ null, null, null, 1] ]
]
次に結果マトリックスを図で示します。